Build.xml ফাইলের গঠন

Java Technologies - অ্যাপাচি অ্যান্ট (Apache ANT) Build ফাইলের বেসিক |
254
254

Apache ANT এর build.xml ফাইল একটি XML ফরম্যাটে লেখা হয় এবং এটি ANT বিল্ড টুলের জন্য কনফিগারেশন ফাইল হিসেবে কাজ করে। build.xml ফাইলে প্রজেক্ট বিল্ড করার জন্য বিভিন্ন টাস্ক, টার্গেট, প্রপার্টি এবং অন্যান্য নির্দেশাবলী সংজ্ঞায়িত করা হয়।

একটি সাধারণ build.xml ফাইলের গঠন এবং এর কম্পোনেন্টগুলি নিচে ব্যাখ্যা করা হয়েছে।


build.xml ফাইলের সাধারণ গঠন

<?xml version="1.0" encoding="UTF-8"?>
<project name="ProjectName" default="default-target" basedir=".">
    <!-- Properties -->
    <property name="src.dir" value="src"/>
    <property name="build.dir" value="build"/>
    <property name="jar.name" value="myproject.jar"/>

    <!-- Targets -->
    <target name="clean">
        <delete dir="${build.dir}"/>
    </target>

    <target name="compile" depends="clean">
        <mkdir dir="${build.dir}/classes"/>
        <javac srcdir="${src.dir}" destdir="${build.dir}/classes"/>
    </target>

    <target name="jar" depends="compile">
        <jar destfile="${build.dir}/${jar.name}" basedir="${build.dir}/classes"/>
    </target>

    <target name="default" depends="jar"/>
</project>

build.xml ফাইলের কম্পোনেন্টগুলো

  1. <?xml version="1.0" encoding="UTF-8"?>
    • এটি XML ডেক্লারেশন, যা ফাইলের শুরুতে থাকে এবং এটি XML ফাইলের ধরন এবং এনকোডিং নির্দেশ করে।
  2. <project> ট্যাগ
    • project ট্যাগটি মূলত ফাইলের রুট ট্যাগ হিসেবে কাজ করে।
    • অ্যাট্রিবিউটস:
      • name: প্রকল্পের নাম।
      • default: ডিফল্ট টার্গেট যেটি ant কমান্ডের মাধ্যমে রান হবে।
      • basedir: প্রকল্পের বেস ডিরেক্টরি। এটি . (বর্তমান ডিরেক্টরি) হিসেবে সেট করা থাকে, তবে আপনি অন্য কোনো ডিরেক্টরি নির্দিষ্ট করতে পারেন।
  3. <property> ট্যাগ
    • property ট্যাগগুলি পরিবর্তনশীল (properties) ডিফাইন করে যা অন্যান্য টাস্কে ব্যবহৃত হয়।
    • অ্যাট্রিবিউটস:
      • name: প্রপার্টির নাম।
      • value: প্রপার্টির মান।
    • উদাহরণ:

      <property name="src.dir" value="src"/>
      
  4. <target> ট্যাগ
    • target ট্যাগগুলো হল সেই কার্যাবলী যা ANT টাস্ক হিসাবে রান হবে। প্রতিটি target এক বা একাধিক টাস্ক ধারণ করে।
    • অ্যাট্রিবিউটস:
      • name: টার্গেটের নাম।
      • depends: অন্য কোন টার্গেটের উপর নির্ভরশীলতা (যদি থাকে)।
    • উদাহরণ:

      <target name="compile" depends="clean">
          <mkdir dir="${build.dir}/classes"/>
          <javac srcdir="${src.dir}" destdir="${build.dir}/classes"/>
      </target>
      
    • compile টার্গেটটি clean টার্গেটের উপর নির্ভরশীল, অর্থাৎ clean টার্গেট আগে রান হবে।
  5. টাস্ক (Tasks)
    • ANT এর মধ্যে অনেক ধরনের টাস্ক ব্যবহার করা হয়। এই টাস্কগুলো বিভিন্ন কাজ যেমন ফাইল কপি, ডিরেক্টরি তৈরি, কোড কম্পাইল, জার ফাইল তৈরি ইত্যাদি করতে ব্যবহৃত হয়।
    • উদাহরণ:

      • <javac>: জাভা কোড কম্পাইল করার জন্য।
      • <jar>: জার ফাইল তৈরি করার জন্য।
      • <mkdir>: ডিরেক্টরি তৈরি করার জন্য।
      • <delete>: ফাইল বা ডিরেক্টরি মুছে ফেলার জন্য।

      উদাহরণ:

      <javac srcdir="${src.dir}" destdir="${build.dir}/classes"/>
      <jar destfile="${build.dir}/${jar.name}" basedir="${build.dir}/classes"/>
      
  6. ডিপেনডেন্সি (Dependencies)
    • একটি টার্গেট অন্য টার্গেটের উপর নির্ভরশীল হতে পারে। যদি একটি টার্গেট অন্য টার্গেটের উপর নির্ভরশীল থাকে, তবে সেই টার্গেটটি আগে রান হবে।
    • উদাহরণ:

      <target name="compile" depends="clean">
      

build.xml ফাইলের উদাহরণ

<?xml version="1.0" encoding="UTF-8"?>
<project name="SampleProject" default="build" basedir=".">
    <!-- Defining properties -->
    <property name="src.dir" value="src"/>
    <property name="build.dir" value="build"/>
    <property name="jar.name" value="sample.jar"/>

    <!-- Clean target -->
    <target name="clean">
        <delete dir="${build.dir}"/>
    </target>

    <!-- Compile target -->
    <target name="compile" depends="clean">
        <mkdir dir="${build.dir}/classes"/>
        <javac srcdir="${src.dir}" destdir="${build.dir}/classes"/>
    </target>

    <!-- Create JAR -->
    <target name="jar" depends="compile">
        <jar destfile="${build.dir}/${jar.name}" basedir="${build.dir}/classes"/>
    </target>

    <!-- Default target -->
    <target name="build" depends="jar"/>
</project>

কিভাবে কাজ করে:

  1. clean: এটি বিল্ড ডিরেক্টরি মুছে ফেলবে।
  2. compile: এটি clean টার্গেটের পরে src ডিরেক্টরি থেকে জাভা কোড কম্পাইল করবে এবং build/classes ডিরেক্টরিতে সংরক্ষণ করবে।
  3. jar: এটি compile টার্গেটের পরে একটি জার ফাইল তৈরি করবে।
  4. build: এটি ডিফল্ট টার্গেট হিসেবে কাজ করবে এবং jar টার্গেট চালাবে।

সারমর্ম

  • build.xml ফাইলের মাধ্যমে আপনি আপনার প্রকল্পের বিল্ড প্রসেস কনফিগার এবং অটোমেট করতে পারেন।
  • এটি প্রপার্টি, টার্গেট, এবং টাস্ক এর মাধ্যমে নির্ধারিত কাজগুলি একে অপরের উপর নির্ভরশীল করে সাজানো হয়।
  • একটি ভাল কনফিগারেশন এবং প্রপার টাস্ক ব্যবহারের মাধ্যমে আপনি একটি স্বয়ংক্রিয় বিল্ড সিস্টেম তৈরি করতে পারেন যা প্রকল্পের বিভিন্ন কার্যক্রম সহজ করে তোলে।
common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion